package day15;

import java.util.LinkedList;

/*本类用于测试LinkedList的相关测试*/
public class TestLinkedList {
    public static void main(String[] args) {
        //1.创建集合对象
        LinkedList<String> list = new LinkedList<>();
        //2.添加数据
        list.add("孙悟空");
        list.add("猪八戒");
        list.add("唐三藏");
        list.add("沙师弟");
        list.add("白龙马");
        System.out.println(list);
        //3.1 自行进行测试从Collection继承过来的共性方法
        //3.2 LinkedList特有方法的测试
        list.addFirst("蜘蛛精");//添加首元素
        list.addLast("玉兔精");//添加尾元素
        System.out.println(list);
        System.out.println(list.getFirst());//获取首元素
        System.out.println(list.getLast());//获取尾元素
        System.out.println(list.removeFirst());//移出首元素
        System.out.println(list.removeLast());//移出尾元素
        System.out.println(list);
        //4.其它测试
        //4.1创建集合对象
        LinkedList<String> list2 = new LinkedList<>();
        //4.2向集合中添加元素
        list2.add("完美世界");
        list2.add("遮天");
        list2.add("吞噬星空");
        list2.add("霸道总裁爱上我");
        System.out.println(list2);
        System.out.println(list2.element());//获取但不移出链表中的首元素(第一个元素)
        /*别名:查询系列*/
        System.out.println(list2.peek());//获取但不移出链表中的首元素(第一个元素)
        System.out.println(list2.peekFirst());//获取但不移出链表中的首元素(第一个元素)
        System.out.println(list2.peekLast());//获取但不移出链表中的尾元素(最后一个元素)
        /*别名:新增系列*/
        System.out.println(list2.offer("斗罗大陆"));//把指定元素添加到链表的末尾
        System.out.println(list2.offerFirst("斗破苍穹"));//把指定元素添加到链表的首部
        System.out.println(list2.offerLast("剑来"));//把指定元素添加到链表的末尾
        System.out.println(list2);
        /*别名:移出系列*/
        System.out.println(list2.poll());//获取本次链表中被删除的首元素
        System.out.println(list2);
        System.out.println(list2.pollFirst());//获取本次链表中被删除的首元素
        System.out.println(list2.pollLast());//获取本次链表中被删除的尾元素
    }

}
